A mechanical machine capable of performing motions in imitation of human actions based on electrical or magnetic working is generally called a “robot”. It is said that the word “robot” is derived from Slavic “ROBOTA (slave machine)”. In Japan, the use of robots has begun to spread from the end of the 1960s. However, many of robots have been industrial robots, such as manipulators and transport robots, intended for automation and unattended operation of production works in factories.
A stationary robot that is fixedly installed in a certain specific place when used, such as an arm robot, acts only in a stationary and local working space for, e.g., parts assembly or selection works. On the other hand, a moving robot has no limitation on working space, and can freely move along predetermined routes or undecided routes to perform predetermined or arbitrary human works instead of workers, and to provide a wide variety of services by behaving like a human being, a dog or any other living body. In particular, comparing with conventional crawler or tire type robots, a legged moving robot is more instable and has a more difficulty in posture control and walking control, but the legged moving robot is superior in that it is able not only to realize flexible walking and running actions regardless of whether the ground is even or uneven, such as climbing up and down stairs or a ladder and riding over an obstacle, but also to coexist in complicated human living spaces.
Recently, research and development regarding legged moving robots, such as a pet robot imitating body mechanisms and actions of a four-legged animal, e.g., a dog or a cat, and a humanoid robot being “human-like” or “of human type” and designed based on, as a model, body mechanisms and actions of a two-legged upright walking animal, e.g., a human being, have progressed and an expectation on the actual use of those legged moving robots has increased. For example, Sony Corporation publicized a two-legged walking humanoid robot “SDR-3X” on Nov. 25, 2000.
Implanting predetermined actions in a robot is called “teaching”. Action teaching is performed, for example, by a method in which an operator or a user teaches actions in the worksite while holding the robot by hands and feet, or a method in which action patterns are inputted, created and edited on an editor, such as a computer, provided externally of the robot.
In conventional robots, however, an operator has been required to understand and learn the operating environment of each robot to a considerable extent for teaching actions in the robot, and a large burden has been imposed on work of the operator.
Also, in conventional methods for teaching and learning actions in and by robots, it has been general to follow a process of installing motion data in the robot beforehand, and reproducing actions corresponding to the motion data depending on external situations. With such a teaching and learning method, kinematic matching and dynamic matching can be satisfied when reproducing the robot actions, but there occur problems in that a new action is difficult to create and unexpected situations cannot be coped with. Further, since motions to be given to a robot are produced offline, it is not always ensured that the motions having been given to the robot beforehand are optimum for the shape and the current working environment of the robot.
When causing a humanoid robot to perform motions like a human being, there is known a teaching method in which robot motion control is performed using motion patterns obtained with the aid of a motion teaching device such as a motion capture. With the motion capture, skeleton actions for realizing motion patterns to be taught can be obtained by capturing measurement points attached to various positions over the whole body of a human being (operator) with a camera, and tracking respective movements of the measurement points.
In the case attempting to act a robot in imitation of various human motions, however, all of motion patterns corresponding to those human motions must be stored.
Also, it is uncertain that the motion patterns obtained with the aid of a motion teaching device, such as a motion capture, can be directly applied to a robot. For example, because physical characteristics, such as weight balance of the whole body, differ between the operator and a machine body of the robot, kinematic matching and dynamic matching, e.g., ZMP stability determining criteria, are not always satisfied and some of taught motions cannot be reproduced when the captured motion patterns are directly applied to the robot.
Meanwhile, a neural network has been recently utilized in several examples of robot control.
The term “neural network” means a simplified model of the neural network in the human brain and is a network in which nerve cells, i.e., neurons, are interconnected through synapses allowing signals to pass only in one direction. Signal transmission between neurons is performed through synapses, and various kinds of information processing can be realized by properly adjusting resistance of each synapse, i.e., a weight applied from each synapse. Specifically, each neuron receives outputs from other one or more neurons after being weighted by respective synapses, modifies the total sum of input values in accordance with a nonlinear response function, and outputs the modified result to another neuron.
Control utilizing a neural network is directly adaptable for a nonlinear problem such as represented by friction and viscosity, and eliminates the need of changing parameter settings because the control includes the learning function.
For example, the specifications of Japanese Patent Application Nos. 2000-251483 and 2000-273805, which were already assigned to the applicant of this application, disclose the learning function utilizing a neural network in an autonomous moving robot.
Of those specifications, Japanese Patent Application No. 2000-251483 discloses a robot including perception sensors, such as a camera, and a recurrent neural network as a learning mechanism. This disclosed robot can move an external movable object by its own controllable part, percept the environment in which the object is placed and movements of the object using the perception sensors, and learn correlation between manners of moving respective joints of the robot and movements of the object. Also, the robot can predict movements of the object and learn by itself motions for moving the object based on novelty rewarding.
Japanese Patent Application No. 2000-273805 discloses a robot capable of learning time-serial events based on a recurrent neural network. This disclosed robot can learn correspondence between music and pose to be taken by the robot by employing, as teaching signals, music information and time-serial joint angle parameters. After the learning, the robot can predict a next robot pose from the preceding robot pose and the music information perceived by the auditory sense, and can perform a dance in match with the music. Further, for a piece of music that is not yet taught, the robot can perform a dance by combining dances, which are contained in the music taught so far and are closer to the piece of music, from the pieces of music having been already taught and the experiences of dances performed so far.
However, there are few examples in which a neural network is applied to the case where motions are taught in a robot using a motion capture.